Holiday
DELTA台達109 R7R8R9
This course will study the basic and recent advancement of distributed systems, including but not limited to CAP theorem, consensus & consistency protocols, file systems, message queue systems, data processing systems, cluster resource managers & schedulers, etc. The ob<x>jective of this course is to help students understand the basis of how to design and implement a real distributed system in practice. Therefore, the students are required to read over 40 papers and present them in the classes. Labs will be given to introduce some of the most commonly-used distributed software and libraries. The students will be asked to implement a distributed system ba<x>sed on these tools in the final project. This course also expects the students to be interactive and engaging in the class for paper discussions, equipped with solid programming skills for mastering variant software libraries in a short period of time, and prepared for 12+ hours/week workload
Course keywords: distributed systems, system design, implementation, survey, fundamental theory * Enrollment Policy This course only accepts enrollment through sign-up applications (加簽). Any student is welcome to participate the first two weeks of the classes to get a better idea about how the organization and course. The performance in these two weeks will be evaluated by the instructor for making the final enrollment decision. You should read the following papers before considering for the enrollment. 1. Brewer's conjecture and the feasibility of consistent, available, partition- tolerant web services 2. CAP Twelve Years Later How the “Rules” Have Changed 3. A Critique of the CAP Theorem 4. Perspectives on the CAP Theorem * Text Books 50+ published papers and online documentations. * References We will read the present the latest papers from ACM Digital Library, IEEE Xplore, and Google Scholar. * Teaching Method Paper presentations by students, followed by in-depth discussion and labs. * Syllabus Students will be assigned to present the papers in the following topics. When they are not presenting, they need to actively participate in course discussions. Topic1: Fundamental Theorems + CAP Theorem + Time, Clocks, and the Ordering of Events in a Distributed System Topic2: Consensus & Consistency Protocol + Paxos, Raft + Quorum + Consistency models: eventual & casual consistency Topic3: Distributed Storage Systems + CephFS, Lustre, AndrewFS, Chord + Caching Systems + Erasure Cosing Topic4: Inter Process Communications + Message systems + Publish/Subscribe systems Topic5: Big Data Processing Systems + Google File System + NoSQL Database: BigTable, Hive, DynamoDB + Parallel data processing systems: MapReduce, Spark Topic6: Resource Managers & Schedulers + Brog, Omega, Kubernetes, Mesos, YARN, SLURM * Labs: 1. Kafka & Prometheus 2. CephFS & MinIO 3. Redis & Memcached 4. gRPC & Restful API 5. Kubernetes & Etcd * Evaluation 1. Paper presentation – 40% 2. Course Participation (QA & class notes) - 20% 3. Lab Assignments – 5% 4. Final Project – 35%
MON | TUE | WED | THU | FRI | |
08:00108:50 | |||||
09:00209:50 | |||||
10:10311:00 | |||||
11:10412:00 | |||||
12:10n13:00 | |||||
13:20514:10 | |||||
14:20615:10 | |||||
15:30716:20 | |||||
16:30817:20 | |||||
17:30918:20 | |||||
18:30a19:20 | |||||
19:30b20:20 | |||||
20:30c21:20 |
Average GPA 4.24
Std. Deviation 0.28
16週課程。
-
-
-